<?php
/**
 * @author		João Batista Neto
 * @brief		Classes e interfaces relacionadas com o protocolo HTTP
 * @package		rpo.http
 */

require_once 'rpo/base/Object.php';

/**
 * @brief		Campo de cabeçalho HTTP
 * @class		HTTPHeaderField
 */
class HTTPHeaderField extends Object {
	/**
	 * @brief Nome do campo de cabeçalho
	 * @var string
	 */
	private $field;

	/**
	 * @brief Valor do campo de cabeçalho
	 * @var string
	 */
	private $value;

	/**
	 * @brief	Constroi um novo campo de cabeçalho HTTP
	 * @param $field string Nome do campo de cabeçalho
	 * @param $value string Valor do campo de cabeçalho
	 */
	public function __construct( $field , $value ){
		$this->field = $field;
		$this->value = $value;
	}

	/**
	 * @brief	Recupera a representação em string do campo de cabeçalho
	 * @return	string
	 */
	public function __toString(){
		return sprintf( '%s: %s' , $this->getName() , $this->getValue() );
	}

	/**
	 * @brief	Recupera o nome do campo de cabeçalho
	 * @return	string
	 */
	public function getName(){
		return $this->field;
	}

	/**
	 * @brief	Recupera o valor do campo de cabeçalho
	 * @return string
	 */
	public function getValue(){
		return (string) $this->value;
	}
}